package com.pms.privilege.user.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import com.pms.privilege.user.model.UserModel;
/**
 * 用户管理DAO
 * @author huyinsong
 *
 */
@Repository
public interface UserPrivDAO {
	/**
	 * 查询用户列表
	 * @param begin 记录开始位置
	 * @param end 记录结束位置
	 * @return 用户列表 List<UserModel>
	 */
	public List<UserModel> queryUserList(@Param("begin") int begin,@Param("end") int end);
	/**
	 * 查询没有权限的用户
	 * @param func_id
	 * @param begin
	 * @param end
	 * @return
	 */
	public List<UserModel> queryUserListWithoutPerm(@Param(value="func_id") long func_id,@Param("start") int begin,@Param("end") int end);
	/**
	 * 查询用户表数据总条数
	 * @return
	 */
	public long queryUserCount();
	/**
	 * 新增用户
	 * @param um 用户基本信息
	 * @return 新增结果
	 */
	public int insertUserInfo(UserModel um);
	/**
	 * 更新用户
	 * @param um 用户基本信息
	 * @return 更新结果
	 */
	public int updateUserInfo(UserModel um);
	/**
	 * 删除用户
	 * @param um 用户基本信息
	 * @return 删除结果
	 */
	public int deleteUserInfo(@Param("user_id") long user_id);
	/**
	 * 从部门删除用户
	 * @param user_id
	 * @return
	 */
	public int deleteFromDeptUser(@Param(value="user_id") long user_id);
	/**
	 * 依据用户id删除权限
	 * @param perm_id
	 * @return
	 */
	public int deletePermissionByUserID(@Param(value="user_id") long user_id);

}
